import antfu from '@antfu/eslint-config'

export default antfu({
  unocss: true,
  rules: {
    'prefer-promise-reject-errors': 'off',
    'eslint-comments/no-unlimited-disable': 'off',
    'no-console': 'off',
    'unused-imports/no-unused-vars': 'warn',
    'unused-imports/no-unused-imports': 'warn',
    'regexp/no-unused-capturing-group': 'warn',
    'eqeqeq': 'off',
    'import/order': 'off',
    'sort-imports': 'off',
    'style/no-tabs': 'off',
    'jsdoc/require-returns-description': 'off',
    'jsdoc/check-param-names': 'off',
    'jsdoc/require-param-name': 'off',
    'jsdoc/require-returns-check': 'off',
  },
  vue: {
    overrides: {
      'vue/no-unused-vars': 'warn',
      'vue/custom-event-name-casing': 'warn',
      'vue/no-unused-refs': 'warn',
      'vue/no-mutating-props': 'warn',
    },
  },
  typescript: {
    overrides: {
      'ts/no-non-null-asserted-optional-chain': 'warn',
      'ts/ban-ts-comment': 'off',
      'ts/no-use-before-define': 'off',
    },
  },
})
